物联网中间件设计方法主要可分为哪几类
物联网中间件设计方法主要可分为以下六类:
基于虚拟机的物联网网络中间件:该类中间件一般由虚拟机、解释器和代理组成,提供虚拟机环境以简化应用的开发和部署。Mate是这类中间件的典型代表,它是一种建立在TinyOS基础上的传感器网络虚拟机。应用代码以Mate指令的形式表示,而节点上的软件则通过这些代码的无线传送实现在线更新。但是,该类中间件过多地依赖于上层的命令及解释器,且需要在每个节点上运行虚拟机,能耗开销较大。
基于数据库的物联网中间件:在该类中间件中,整个物联网被看作是一个虚拟的数据库系统,为用户的查询提供简单的接口。Cougar、TinyDB及SINA是这类中间件的典型代表。Cougar和SINA提供分布式的数据库接口接收来自于物联网用数据库形式的查询方式表述的信息。而TinyDB则使用控制流的方式,为上层提供一个易用的、类似SQL的接口,完成复杂的查询。
基于应用驱动的物联网中间件:这类中间件主要由应用来决定网络协议栈的结构,允许用户根据应用需求调整网络,其典型代表为MILAN中间件。MILAN在接收到应用需求的描述后,将以最大化生命期为目标,优化网络部署和配置,支持网络扩展。当然,基于应用驱动的中间件往往缺乏对应用实时性的支持。
面向消息的物联网中间件:该类中间件主要采用异步模式和生产者/消费者模
面向消息的物联网中间件:该类中间件主要采用异步模式和生产者/消费者模式,其典型代表为Mires。Mires同样建立于TinyOS平台之上,采用发布/订阅模式,以提高网络数据交换率。同时提供路由服务和聚合服务,能量利用率较高。但该类中间件在物联网安全服务及QoS方面还有待加强。
基于移动代理的物联网中间件:基于移动代理的物联网中间件提供抽象的计算任务给上层应用,尽可能使应用模块化,以便可以更容易地进行代码传输。Agilla是其典型代表,它允许用户在节点中嵌入移动Agent,并通过Agent的智能迁移来协同完成特定任务。DisWare也是一种基于移动代理的无线传感器网络中间件,支持多种异构操作系统及多种异构硬件节点。